import { defineStore } from 'pinia';
import Q3D_I_State_Menu from './Q3D_I_State_Menu';
import Q3D_F_Persist from './Q3D_F_Persist';

// defineStore 调用后返回一个函数，调用该函数获得 Store 实体
export default defineStore({
    id: 'Q3D_Store_Menu',
    // state: 返回对象的函数
    state: (): Q3D_I_State_Menu => ({ // 返回值是 Q3D_I_State_Menu 接口定义的类型
        bool_menu_fold: false, // 菜单栏是否收起
        list_menu: [], // 菜单列表（嵌套结构）
    }),
    getters: {},
    actions: {
        async Q3D_F_Fold_Flip() { // 切换菜单收起状态
            this.bool_menu_fold = !this.bool_menu_fold;
        },
        async Q3D_F_Menu_Set(list_menu: Q3D_I_Data_Menu[]) { // 重置菜单内容
            this.list_menu = list_menu;
        }
    },
    persist: Q3D_F_Persist('Q3D_Store_Menu')
});
